Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Cluster Setup documentation #4973

Merged
merged 12 commits into from
Aug 23, 2021

Conversation

valaparthvi
Copy link
Contributor

What type of PR is this?
/kind documentation

What does this PR do / why we need it:
This PR adds the documentation for cluster setup.

Which issue(s) this PR fixes:

Fixes part of #4894

PR acceptance criteria:

  • Unit test

  • Integration test

  • Documentation

  • Update changelog

  • I have read the test guidelines

How to test changes / Special notes to the reviewer:

@netlify
Copy link

netlify bot commented Aug 10, 2021

✔️ Deploy Preview for odo-docusaurus-preview ready!

🔨 Explore the source changes: 80cc7e6

🔍 Inspect the deploy log: https://app.netlify.com/sites/odo-docusaurus-preview/deploys/611f8a1bdf00a30007d2de03

😎 Browse the preview: https://deploy-preview-4973--odo-docusaurus-preview.netlify.app

Copy link
Member

@dharmit dharmit left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some changes based on a quick look.

website/docs/getting-started/cluster-setup/kubernetes.md Outdated Show resolved Hide resolved
website/docs/getting-started/cluster-setup/kubernetes.md Outdated Show resolved Hide resolved
website/docs/getting-started/cluster-setup/kubernetes.md Outdated Show resolved Hide resolved

## Install the OLM
The Operator Lifecycle Manager(OLM) is a component of the Operator Framework, an open source toolkit to manage Kubernetes native applications, called Operators, in a streamlined and scalable way.[(Source)](https://olm.operatorframework.io/)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This doesn't help make things clear for someone who is new to Kubernetes or doesn't want to get deep into Kubernetes. We got to try to make things simpler for users who have barely used Kubernetes.

Suggested change
The Operator Lifecycle Manager(OLM) is a component of the Operator Framework, an open source toolkit to manage Kubernetes native applications, called Operators, in a streamlined and scalable way.[(Source)](https://olm.operatorframework.io/)
As the name suggests, Operator Lifecycle Manager (or OLM) manages the lifecycle of Operators. So what are Operators? In simplest terms, Operators are a collection of definitions used to spin up services like databases, message queues, etc. odo uses these definitions to spin up services but cannot help install them. It's something that requires administrator privileges and throughout this guide we assume that you have those privileges since you have setup a minikube environment.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shouldn't we put this in the Operator doc?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes we should. But at the moment, we are adding this doc. So we should put it here. If operator doc was ready, we could have linked to it. Once we have it ready, we could replace this paragraph with a link to it.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Rather than coming up with our own definition of what Operator is we should link to existing Kubernetes documentation

https://kubernetes.io/docs/concepts/extend-kubernetes/operator/

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can and should surely link to k8s docs whenever it makes sense. But we should also make things simpler to understand for users who don't want/need to know things from k8s perspective.

Having said that, in this case, the Motivatoin section of the doc is pretty good and can be used to explain Operators instead of using what I suggested.

But overall, I hope that odo docs attempt to make k8s things simpler to understand for users. If that means coming up with our own definitions, so be it. Code should not be the only place where odo follows the philosophy of making k8s abstractions simple for users.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code should not be the only place where odo follows the philosophy of making k8s abstractions simple for users.

agreed

If that means coming up with our own definitions,

That is dangerous. We should not come up with our own definitions for stuff that we did no created. We should no try to redefine things.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why not use already existing definition from https://kubernetes.io/docs/concepts/extend-kubernetes/operator/ or https://www.redhat.com/en/topics/containers/what-is-a-kubernetes-operator ? Do you think that those are too technical?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That is dangerous.

The other way of looking at it is trying to do ELI5. Instead of really trying to do ELI5, we should try to explain things as if our readers have no knowledge of k8s.

Why not use already existing definition from https://kubernetes.io/docs/concepts/extend-kubernetes/operator/ or https://www.redhat.com/en/topics/containers/what-is-a-kubernetes-operator ? Do you think that those are too technical?

I already said in my previous comment (#4973 (comment)) that in this case, reusing what's in the "Motivation" section makes sense because it's written in really simple language.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I will add the excerpt of Motivation from the official k8s doc, it's short and simple as compared to the RH article.

@dharmit
Copy link
Member

dharmit commented Aug 11, 2021

@valaparthvi Update Changelog.md

@openshift-ci openshift-ci bot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. Required by Prow. label Aug 12, 2021
@openshift-ci openshift-ci bot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. Required by Prow. label Aug 12, 2021
@valaparthvi
Copy link
Contributor Author

@dharmit Can we get this one in first? Build for #4934 is broken atm because we removed some of the pages it is referring to, mainly cluster-setup pages. If this one gets in, 4934 will no longer break.

I am not happy with the current position of operator definition for OpenShift, but I couldn't think of any other place to put it, so suggestions are welcome.

website/docs/getting-started/cluster-setup/kubernetes.md Outdated Show resolved Hide resolved
website/docs/getting-started/cluster-setup/kubernetes.md Outdated Show resolved Hide resolved
website/docs/getting-started/cluster-setup/kubernetes.md Outdated Show resolved Hide resolved
website/docs/getting-started/cluster-setup/kubernetes.md Outdated Show resolved Hide resolved
website/docs/getting-started/cluster-setup/kubernetes.md Outdated Show resolved Hide resolved
website/docs/getting-started/cluster-setup/kubernetes.md Outdated Show resolved Hide resolved
website/docs/getting-started/cluster-setup/kubernetes.md Outdated Show resolved Hide resolved
website/docs/getting-started/cluster-setup/kubernetes.md Outdated Show resolved Hide resolved
website/docs/getting-started/cluster-setup/kubernetes.md Outdated Show resolved Hide resolved
@sonarcloud
Copy link

sonarcloud bot commented Aug 20, 2021

Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 0 Code Smells

No Coverage information No Coverage information
2.7% 2.7% Duplication

@feloy
Copy link
Contributor

feloy commented Aug 20, 2021

/approve

@openshift-ci
Copy link

openshift-ci bot commented Aug 20, 2021

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: feloy

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-ci openshift-ci bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. Required by Prow. label Aug 20, 2021
@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. Required by Prow. label Aug 23, 2021
@openshift-merge-robot openshift-merge-robot merged commit cc7e9bc into redhat-developer:main Aug 23, 2021
@kadel kadel mentioned this pull request Sep 7, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. Required by Prow. lgtm Indicates that a PR is ready to be merged. Required by Prow.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants